home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Purity / Purity #22 (1994-01-19)(Diesel)(DE)[WB].zip / Purity #22 (1994-01-19)(Diesel)(DE)[WB].adf / ASL / ASL.p < prev    next >
Text File  |  1994-01-17  |  3KB  |  102 lines

  1. {Stuktur © & P by Falk Zühlsdorff, Lindenberg 66, 98693 Ilmenau}
  2.  
  3. {Erstellt mit KickPascal 2.12 von Maxon Computer, 31.12.93 }
  4.  
  5.  
  6.  
  7. PROGRAM ASL_ON_SCREEN;
  8.  
  9. USES INTUITION,GRAPHICS;
  10. {$INCL 'asl.lib','dos.lib'}
  11.  
  12. Type STyp=string[100];
  13.  
  14. VAR Scr : ^Screen;
  15.     Vp  : ViewPort;
  16.     Win : ^Window;
  17.     OWin: ^Window;
  18.     RP  : ^RastPort;
  19.     Prc : ^Process;
  20.     PrcH: Ptr;
  21.     rufname,Pfad,Datei:String[100];
  22. PROCEDURE ASLREQ(titel:STRING; VAR Datei,Pfad:STyp);;
  23.  
  24. VAR Req      : p_FileRequester;STATIC;
  25.     Tags     : ARRAY[0..6] OF TagItem;STATIC;
  26.  
  27. BEGIN
  28.       Tags[0].ti_Tag:=ASL_Hail;
  29.       Tags[0].ti_Data:=titel;
  30.       Tags[1].ti_Tag:=ASL_Window;
  31.       Tags[1].ti_Data:=Win^; {Hä hä}
  32.       Tags[2].ti_Tag:=ASL_File;
  33.       Tags[2].ti_Data:=Datei;
  34.       Tags[3].ti_Tag:=ASL_Dir;
  35.       Tags[3].ti_Data:=Pfad;
  36.       Tags[4].ti_Tag:=ASL_FrontPen;
  37.       Tags[4].ti_Data:=$03;         {> keine Wirkung ???}
  38.       Tags[5].ti_Tag:=ASL_BackPen;;
  39.       Tags[5].ti_Data:=$02;         {> keine Wirkung ???}
  40.       Tags[6].ti_Tag:=TAG_DONE;
  41.  
  42.       Req:=AllocAslRequest(ASL_FileRequest,^Tags);
  43.       IF Req<>NIL THEN
  44.          BEGIN
  45.           IF RequestFile(Req)
  46.           THEN
  47.            BEGIN
  48.             Datei:=req^.rf_File;
  49.             Pfad:=req^.rf_Dir;
  50.             IF (Pfad<>'') AND (Pfad[length(Pfad)]<>':') AND
  51.                (Pfad[length(Pfad)]<>'/')
  52.              THEN Pfad:=Pfad+'/';
  53.             rufname:=Pfad+Datei;
  54.            END
  55.           else writeln('Dann eben nicht !!!');
  56.           FreeAslRequest(Req);
  57.          END
  58.         ELSE displaybeep(nil);
  59. END;
  60. {------------------------------------------------------------------------}
  61.  
  62. PROCEDURE Setfarbe(Nr,R,G,B:byte);
  63.  
  64. BEGIN
  65.  setRGB4(^Scr^.ViewPort,Nr,R,G,B);
  66. END;
  67.  
  68. {------------------------------MAIN--------------------------------------}
  69. BEGIN
  70.     rufname:='';Pfad:='SYS:';Datei:='';
  71.     Scr:=Open_Screen(0,0,640,256,2,0,1,HIRES+GENLOCK_VIDEO,
  72.          'ASL Test on Customscreen © & P by Falk Zühlsdorff 01.01.94 8:59');
  73.     Vp:=Scr^.ViewPort;
  74.     Setfarbe(0,11,11,11);
  75.     Setfarbe(1,0,0,0);
  76.     Setfarbe(2,15,15,15);
  77.     Setfarbe(3,6,8,11);
  78.     Win:=Open_Window(0,10,640,246,0,RAWKEY+GADGETUP,ACTIVATE+
  79.                      BORDERLESS+RMBTRAP+BACKDROP,Nil,Scr,640,246,640,246);
  80.     RP:=Win^.RPort;
  81.  
  82.     PrcH:=FindTask(Nil);
  83.     Prc:=PrcH;                   {Fehlerreq./Task auf eigenen Screen}
  84.     OWin:=Prc^.pr_WindowPtr;              {umleiten}
  85.     Prc^.pr_WindowPtr:=Win;
  86.     OpenLib(AslBase,ASLNAME,36);
  87.     if IOResult=0 then
  88.      BEGIN
  89.       AslReq('Laden der Adressen: ',Datei,Pfad);
  90.       CloseLib(AslBase);
  91.       writeln(rufname);
  92.      END;
  93.     Prc^.pr_WindowPtr:=OWin;
  94.  
  95.     Close_Window(Win);
  96.     Close_Screen(Scr);
  97. END.
  98.  
  99.  
  100.  
  101.  
  102.